# 1.append()   向列表的尾部添加元素
list1 = ['西施','貂蝉','王昭君','杨玉环']
# print(list1)
# 追加单个元素
list1.append("赵飞燕")
# print(list1)
# 追加多个元素时,不能直接追加,必须使用列表的形式进行追加,这样原列表变成了二维列表
list1.append(['大乔','小乔','甄宓'])
# print(list1)


# 2.extend() 追加元素
list2 = ['吕布','曹操','李元霸','项羽']
list2.extend(['貂蝉','蔡文姬','**','虞姬'])   
# print(list2)  # ['吕布', '曹操', '李元霸', '项羽', '貂蝉', '蔡文姬', '**', '虞姬']
list2.extend("东施")  # "东","施"
list2.extend(["东施"])
# print(list2)

# 3.insert() 在列表的指定的索引处插入元素,后面的其他元素依次后延
list3 = ['后裔','猴哥','凯','亚瑟','妲己']
# list3.insert(1,'八戒') # ['后裔', '八戒', '猴哥', '凯', '亚瑟', '妲己']
# 追加多个元素时,不能直接追加,必须使用列表的形式进行追加,这样原列表变成了二维列表
list3.insert(3,['张飞','关羽'])  # ['后裔', '猴哥', '凯', ['张飞', '关羽'], '亚瑟', '妲己']
# print(list3)

# 4.删除元素
list4 = ['秦始皇','汉武帝','唐太宗','宋太祖']
# pop()   传入的参数是下标,若不传参数,默认移除最后一个元素,返回的是原列表
#list4.pop()
#print(list4)  # ['秦始皇', '汉武帝', '唐太宗']

#list4.pop(2)
#print(list4)  #['秦始皇', '汉武帝', '宋太祖']


# remove()  传入的参数是要删除的元素
#list4.remove("汉武帝")
#print(list4)  # ['秦始皇', '唐太宗', '宋太祖']


# clear() 清空列表
#print(list4)
#list4.clear()
#print(list4)   # []


# 列表元素的获取
# len()   获取列表的长度
list5 = [12,345,78,90,53]
# print(len(list5))   # 5

# 获取列表中的最大值  max()
# print(max(list5))   # 345

# 获取列表中的最小值 min()
# print(min(list5))   # 12

# 获取指定元素的索引号   index()
# print(list5.index(90))   # 3
# print(list5.index(90,0,4))
# print(list5.count(90))
# print(list5.count(90))


# 列表中的一些其他用法
list6 = [1,2,3,4,5,6]

# reverse() 翻转列表元素   对原列表进行翻转
list6.reverse()
# print(list6)

list7 = [23,45,21,8,25]
# sort() 对列表元素进行排序   默认是升序,不会生成一个新列表   当传输参数reverse=True时,表示降序

#list7.sort()
#print(list7)   # [8, 21, 23, 25, 45]

#list7.sort(reverse=True)
#print(list7)  # [45, 25, 23, 21, 8]

# sorted() 对列表元素进行排序   默认是升序,会生成一个新列表   当传输参数reverse=True时,表示降序
list8 = sorted(list7)
# print(list8)   # [8, 21, 23, 25, 45]

list9 = sorted(list7,reverse=True)
# print(list9)  # [45, 25, 23, 21, 8]

list10 = ["a","hello","yes","no"]
# 按照元素的长度进行排序
list11 = sorted(list10,key=len)
print(list11)